// * string() 值必须是字符串
// * alphanum() 值只能是包含 a-zA-Z0-9 的字符串
// * min(length) 最小长度
// * max(length) 最大长度
// * required() 值是必填项，不能为 undefined
// * pattern(正则表达式) 值必须符合正则表达式的规则

const joi = require('joi')

// 学号的校验
const id = joi.string().pattern(/^[0-9]+$/).required()

// 用户名的校验
const username = joi.string().pattern(/^\S{2,8}$/).required()

// 密码的校验
const password = joi.string().min(6).max(12).alphanum().required()

// 科目的校验
const job = joi.string()

exports.reg_login_schema = {
    body: {
        id,
        username,
        password,
        job
    }
}


// 昵称的校验
const nickname = joi.string().required()

// 邮箱的校验
const email = joi.string().pattern(/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/).required()

exports.reg_userInfo = {
    body: {
        nickname,
        email
    }
}

// 修改密码
const oldPassword = joi.string().min(6).max(12).alphanum().required()
const newPassword = joi.not(joi.ref('oldPassword')).concat(oldPassword)
exports.reg_updatePsd = {
    body: {
        oldPassword,
        newPassword
    }
}

// 更换头像
const avatar = joi.string().dataUri().required()
exports.reg_avatar = {
    body: {
        avatar
    }
}